Method and apparatus for determining representative chrominance components

ABSTRACT

A method and apparatus for determining representative values for the chrominance components to be associated with a plurality of luminance components in a horizontally shrunken or stretched image for graphics controllers wherein display image data is stored in a buffer memory in a form associating a single set of U and V chrominance components with a plurality of Y luminance values. For a four to one shrinkage of an image in a format associating one set of chrominance components with four pixel luminance values wherein each pixel luminance value in the shrunken image initially has as associated set of chrominance components U 0 , U 1 , U 2  and U 3  and V 0 , V 1 , V 2  and V 3 , the multiple values of the chrominance components are sequentially accumulated in a 3/4:1/4 ratio in such a manner as to provide an approximate average value for U and V for each set of four pixel luminance values in the shrunken image. Circuitry for processing the chrominance components making use of interpolation circuitry already used for interpolation between pixels for a stretched image is disclosed.

This application is a continuation of Ser. No. 08/550,794 filed Oct. 31,1995, now abandoned.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to the field of graphics controllers, andmore particularly to graphics controllers having the capability ofreplicating pixels and of interpolating between pixels.

2. Prior Art

Certain prior art graphics controllers manufactured by Cirrus Logic,Inc., assignee of the present invention, have used a graphics dataformat referred to as AccuPak®. As may be seen in FIG. 1, in thisformat, pixel data is stored 4 pixels for every 32-bit word for displaypurposes as the 32-bit words are read out in sequence. Thus, data mustbe stored in the AccuPak® format for display purposes, even though thisformat does not directly lend itself to replicating pixels, andparticularly to interpolating between pixels. Accordingly, whenmanipulating image data to stretch or shrink a video image in one orboth directions, the video data in AccuPak® is first converted toYUV-444 format, the replication or interpolation required is thencarried out on the YUV-444 data, and then the same is reconverted to theAccuPak® format.

As may be seen in FIG. 1, each 32-bit word of video data consists offour 5-bit components, such as Y₀ through Y₃, each representing in 5bits the luminance value of the corresponding pixel of the respectivefour pixels 0 through 3. U₀ and V₀, on the other hand, are each 6-bitcomponents of the 32-bit word and comprise the two chrominancecomponents which will be used for all four pixel luminance values of the32-bit word. Thus, in the AccuPak® format, luminance values arerepresented by a 5-bit component and can vary pixel to pixel, whereasthe chrominance values are 6-bit components, and are fixed for eachgroup of four pixels. The four pixels, of course, are four successivepixels in a raster scan image. The ability to use the same chrominanceinformation for four successive pixels is due to the fact that the humaneye is less sensitive to chrominance information, a fact utilized alsoin ordinary TV broadcasts, wherein the in-phase and quadraturechrominance signals on the chroma subcarrier have a substantially lowerbandwidth than the luminance signal.

The conversion from AccuPak® to YUV, and more particularly YUV-444, isvery simple, as illustrated in FIG. 2. In particular, for each of fourpixel luminance values such as Y₀ through Y₃, the respective two valuesof chrominance U₀ and V₀ are directly associated, so that now each pixelis represented by a luminance value followed by its two chrominancevalues, even though the two chrominance values remain constant for foursuccessive pixels. Also in this conversion, the 5 and 6-bit componentsare expressed in 8-bit byte form by padding the unoccupied bits withzeros.

In the prior art graphics controllers being described, circuitry wasprovided to reformat image data to stretch the image in either directionby a factor of 2, 4 or 8. This stretching, of course, is on a pixel topixel basis. In a specific example, assume that an image is to bestretched 10% in the horizontal direction. Here, it is desired toconvert the pixel data for ten successive pixels to pixel data foreleven successive pixels. This is done in the prior art graphicscontroller by interpolating between two adjacent pixels in the series often pixels, so that pixel data for an 11th pixel is provided. Thisprovides a smoother transition than merely replicating one of thepixels, as replication, particularly as the stretching gets larger,gives the image a grainy appearance.

In the following table, Table 1, the manner in which such horizontalinterpolation is carried out in the prior art may be seen.

                  TABLE 1    ______________________________________    1-to-1    stretch          2-to-1 stretch                       4-to-1 stretch                                    8-to-1 stretch    ______________________________________    Y.sub.0, U.sub.0,          Y.sub.0, U.sub.0, V.sub.0                       Y.sub.0, U.sub.0, V.sub.0                                    Y.sub.0, U.sub.0, V.sub.0    V.sub.0    Y.sub.1, U.sub.0, V.sub.0          1 #STR1##                       2 #STR2##    Y.sub.0, U.sub.0, V.sub.0    Y.sub.2, U.sub.0, V.sub.0          Y.sub.1, U.sub.0, V.sub.0                       1 #STR3##                                    2 #STR4##    Y.sub.3, U.sub.0, V.sub.0          3 #STR5##                       4 #STR6##                                    5 #STR7##    Y.sub.4, U.sub.1, V.sub.1          Y.sub.2, U.sub.0, V.sub.0                       Y.sub.1, U.sub.0, V.sub.0                                    1 #STR8##    Y.sub.5, U.sub.1, V.sub.1          6 #STR9##                       7 #STR10##                                    1 #STR11##    . . . Y.sub.3, U.sub.0, V.sub.0                       3 #STR12##                                    4 #STR13##          8 #STR14##                       9 #STR15##                                    4 #STR16##          Y.sub.4, U.sub.1, V.sub.1                       Y.sub.2, U.sub.0, V.sub.0                                    Y.sub.1, U.sub.0, V.sub.0          0 #STR17##                       1 #STR18##   Y.sub.1, U.sub.0, V.sub.0          Y.sub.5, U.sub.1, V.sub.1                       2 #STR19##                                    7 #STR20##          . . .                       3 #STR21##                                    7 #STR22##                       Y.sub.3, U.sub.0, V.sub.0                                    3 #STR23##                       4 #STR24##                                    3 #STR25##                       5 #STR26##                                    9 #STR27##                       6 #STR28##                                    7 #STR29##                       Y.sub.4, U.sub.1, V.sub.1                                    Y.sub.2, U.sub.0, V.sub.0                       8 #STR30##   Y.sub.2, U.sub.0, V.sub.0                       . . .                                    9 #STR31##                                    9 #STR32##    ______________________________________

With no stretching (1-to-1), of course, the YUV-444 data is merely theYUV data for each successive pixel, as shown. For a 2-to-1 stretch, aninterpolation is made so that data for an additional pixel is determinedand effectively interposed between the data for adjacent pixels in the1-to-1 version of the image data. This is done by taking the average ofthe luminance values of the two successive pixels (1/2Y₀ +1/2Y₁). In theexample of the Figure, U₀ and V₀ are already applicable to both Y₀ andY₁ and, accordingly represent "an average" for these two pixels already.Obviously, when interpolating between the fourth and fifth pixels, U₀and U₁ could be averaged, as could V₀ and V₁, though this was not donebecause of the extra hardware required for minimal gain in visualappearance of the display.

For a 4-to-1 stretch, pixel data for three additional pixels arecalculated and effectively interposed between each two pixels in the1-to-1 image representation. These additional three pixels are alsointerpolations between two adjacent pixels in the 1-to-1 image data,calculated by a 3/4:1/4 weighting, a 1/2:1/2 weighting, and a 1/4:3/4weighting, respectively in both the luminance and the two chrominancecomponents. Again, U₀ and V₀ actually represent that weighting, as U₀and V₀ are applicable to both pixel 0 and 1 in Table 1. As tointerpolating between Y₃ and Y₄, the U and V values associated with oneluminance value were used, not an interpolation between the two sets ofvalues, as repacking the AccuPak® requires the same U and V values forfour successive pixels. Finally, the 8-to-1 stretch is accomplished bymerely replicating each pixel obtained from a 4-to-1 stretch.

The net effect of the foregoing is that circuitry for interpolating twoadjacent values of Y, U and V by a 3/4:1/4, 1/2:1/2, and a 1/4:3/4weighting already exists in the prior art products.

In the case of shrinking an image dimension, however, the problem issomewhat different. For instance, assume that an image dimension is tobe shrunk to one-fourth of its original size. This may be readily doneby merely picking each fourth pixel of the 1-to-1 image for display,such as is shown in Table 2.

                  TABLE 2    ______________________________________    4-to-1 shrink    ______________________________________    Y.sub.3,U.sub.0,V.sub.0    Y.sub.7,U.sub.1,V.sub.1    Y.sub.11,U.sub.2,V.sub.2    Y.sub.15,U.sub.3,V.sub.3    Y.sub.19,U.sub.4,V.sub.4    Y.sub.23,U.sub.5,V.sub.5    Y.sub.27,U.sub.6,V.sub.6    Y.sub.31,U.sub.7,V.sub.7    ______________________________________

Note, however, that in the 4-to-1 shrink, each successive pixel fordisplay is taken from a different 32-bit image data word, and from itsprior AccuPak® format, has its own unique value of U and V associatedwith it. Consequently, when converting from YUV-444 back to AccuPak®, avalue for U and V must be selected as representative for four successivepixels, such as Y₃, Y₇, Y₁₁ and Y₁₅ in the example shown. In the priorart devices, an arbitrary choice was made to always use one of the foursets of values for U and V to avoid the necessity of having to calculateanything different. Note, however, that such a choice in essence isassociating a single set of values U_(n) and V_(n) to the equivalent ofsixteen successive pixels of the original 1-to-1 image data. This hasthe effect of some image distortion and loss of image features that mayhave been brought out by the chrominance values there between.

Interpolation or shrinking in the vertical direction does not presentthe same problems, in that since each four successive (horizontal)pixels have the same values of U and V, interpolation of U and V in thevertical direction or skipping of entire lines will yield the same newvalues of U and V for each four successive horizontal pixels in the lineor lines added by interpolation between two lines of the 1-to-1 image,or used in the shrunken image. In essence, an AccuPak® or AccuPak®-likeformatting accommodates different values of U and V between allvertically adjacent pixels, but not horizontally adjacent pixels. Ingeneral, in the prior art, image size adjustment was done first in thevertical direction, then in the horizontal direction.

BRIEF SUMMARY OF THE INVENTION

A method and apparatus for determining representative values for thechrominance components to be associated with a plurality of luminancecomponents in a horizontally shrunken image for graphics controllerswherein display image data is stored in a buffer memory in a formassociating a single set of U and V chrominance components with aplurality of Y luminance values are disclosed. For a four to oneshrinkage of an image in a format associating one set of chrominancecomponents with four pixel luminance values wherein each pixel luminancevalue in the shrunken image initially has as associated set ofchrominance components U₀, U₁, U₂ and U₃ and V₀, V₁, V₂ and V₃, themultiple values of the chrominance components are sequentiallyaccumulated in a 3/4:1/4 ratio in such a manner as to provide anapproximate average value for U and V for each set of four pixelluminance values in the shrunken image. Circuitry for processing thechrominance components making use of interpolation circuitry alreadyused for interpolation between pixels for a stretched image isdisclosed.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a specific prior art graphics data format referred toa AccuPak®, in which pixel data is stored 4 pixels for eve 32-bit word.

FIG. 2 illustrates the conversion from AccuPak® to YUV-444.

FIG. 3 illustrates an x-interpolator modified in accordance with thepresent invention.

FIG. 4 is a block diagram illustrating an x-interpolator of the presentinvention which calculates an average luminance.

FIG. 5 illustrates the steps to calculate an average luminance.

DETAILED DESCRIPTION OF THE INVENTION

In accordance with the present invention, visual characteristics of ashrunken image are enhanced by calculating average or near averagevalues of U and V for each successive group of four pixels in thatshrunken image for repacking in AccuPak® format or an AccuPak®-likeformat. In particular, consider the 4-to-1 shrinkage of an imageoriginally formatted in AccuPak® format, wherein four successive pixelsin the raster scan image have initially associated with them a singleset- of U and V values. The general form of YUV-444 data when expandedfrom AccuPak® format is shown in Table 2. Here, the problem consists ofhow to reformat the YUV-444 data into an AccuPak® or AccuPak®-likeformat with minimum loss of information in the chrominance values. Toachieve this result, ideally the four sets of U and V values for fourpixels would be averaged prior to reformatting the four pixels into the32-bit AccuPak® format. Thus, using Table 2 of the prior art forreference, one would like to have the AccuPak® data for a 4-to-1 shrinkin the form shown in Table 3 below.

                  TABLE 3    ______________________________________    Accupak ®    4-to-1 shrink    ______________________________________    0 #STR33##    1 #STR34##    2 #STR35##    . . .    ______________________________________

Such a form gives equal weighting to the U and V chrominance values foreach of the four pixels represented by the 32-bit AccuPak® word. Whileaveraging the U and V values as shown is certainly possible, the samehas the disadvantage that such an averaging would require additionalhardware (circuitry) on the graphics controller, increasing the cost ofthe same more than is desirable.

As an alternative to the averaging of the U and V values as in Table 3,the present invention contemplates the approximation of such averagingthrough the use of the X interpolator used in the prior art graphicscontrollers, though with some modification thereto.

Referring now to FIG. 3, an X or horizontal interpolator modified inaccordance with the present invention may be seen. The interpolatorincludes an A register and a B register, each of which may present thecontents thereof less the least significant bit (A1/2, B1/2) and lessthe two least significant bits (A1/4, B1/4) as their output. Droppingthe least significant bit is equivalent to dividing the registercontents in half, and dropping the two least significant bits isequivalent to dividing the register contents by four. Thedivided-by-four contents of registers A and B may be passed throughmultiplexers controlled by control signals XCTL 13 and CTL 13 to X ADDER0, with the output 1/4A+1/4B providing one input to the X ADDER 1. Theother input to X ADDER 1 is provided by a MUX controlled by X CTL 14,which may pass either 1/2A or 1/2B as the second input to X ADDER 1.Accordingly, depending upon the control signal X CTL 14, the output of XADDER 1 under these conditions is either 3/4A+1/4B or 1/4A+3/4B.

Alternatively, the control signals X CTL 13 and CTL 13 may be used tocontrol the respective MUX's to pass 1/2A as one input to X ADDER 0, and0 as the other input to the adder X ADDER 0. Consequently, the output ofX ADDER 0 in this condition, provided as one input to X ADDER 1, will be1/2A. The other input to X ADDER 1 is controlled by the control signalXCTL 14 to be either 1/2A or 1/2B, whereby the output of X ADDER 1 maybe selected to be either A or 1/2A+1/2B.

The interpolator of FIG. 3 also includes a multiplexer/holding registeridentified as MUX/HOLD in the Figure. The multiplexer/holding registeris controlled by the control signal MIX, and has as one input thereto,feedback from the output of the adder X ADDER 1. Finally, there is adirect path from the B register to the second input of themultiplexer/holding register MUX/Hold.

The circuit of FIG. 3 is used as an X interpolator during the horizontalstretching of an image in a manner well-known in prior art graphicscontrollers. This current technique won't correctly match up thechrominance when pixels having different U, V values are combined. Inaccordance with the present invention, the circuit of FIG. 3 is used ina novel manner to calculate approximate average values for U and V touse for multiple pixels when the same multiple pixels have more than oneset of U and V values associated therewith. As an example, consider theapproximate averaging of the U chrominance components for foursuccessive pixels of a 4-to-1 shrunken image prior to reformatting inthe AccuPak® format. Since the pixel data for the 1-to-1 image wasoriginally in AccuPak® form, every fourth pixel in the YUV-444 format asexpanded from the AccuPak® format has its own set of U and V valuesassociated therewith.

The steps to calculate the approximate average can be seen in FIG. 5.The interpolator of FIG. 3 is set to calculate 3/4A+1/4B, as illustratedin FIG. 5. Initially, the first value of U₀ is provided to the Bregister, and from there via the multiplexer MUX/Hold to the A register.Then the second value, U₁, is provided to the B register. Since thecircuit is set to provide 3/4A+1/4B as the output of the adder X ADDER1, the output of X ADDER 1 for the U₀ input to the A register and the U₁input to the B register will be 3/4U₀ +1/4U₁. The feedback path couplesthat output to the A register via the MUX/Hold multiplexer to the inputof the A register while U₂ is input to the B register. These two inputsare then processed again in the 3/4A+1/4B proportion, resulting in theoutput of the adder X ADDER 1 of 3/4(3/4U₀ +1/4U₁)+1/4U₂ =9/16U₀ +3/16U₁+1/4U₂. The feedback and reprocessing is continued one more time as thefourth value U₃ is provided to the B register, again with the 3/4A+1/4Bproportion, to result in the approximate average U output from the adderX ADDER 1 of 3/4(9/16U₀ +3/16U₁ +1/4U₂)+1/4U₃, or:

    U.sub.avg ≈27/64U.sub.0 +9/64U.sub.1 +12/64U.sub.2 +16/64U.sub.3

While the foregoing approximation is most heavily weighted toward thevalue of U₀ and least heavily weighted toward the value of U₁, clearlyall values of U have a significant contribution to the approximation.Further, the relative weighting in this approximation, particularly withthe most heavily weighted and least weighted values of the chrominancecomponents being adjacent to each other, provides a very substantialadvantage over merely selecting one of the values U₀ through U₃ as theonly value considered. Further, the extent of complication added to theinterpolator already in the graphics controller to achieve theapproximation is minimal, yet image features which in the prior art maybe lost in the unconsidered chrominance values, are substantiallypreserved in the compressed image using the approximation of the U and Vvalues of the present invention. In that regard, obviously the V valuesmay be processed the same as the U values to provide the same form ofapproximation:

    V.sub.avg ≈27/64V.sub.0 +9/64V.sub.1 +12/64V.sub.2 +16/64V.sub.3

Finally, with respect to a 2-to-1 compression, rather than a 4-to-1compression of the image, if the same approximation is used, thecorresponding values of U and V processed will provide an approximateaverage value for U of 27/64U₀ +9/64U₀ +12/64U₁ +16/64U₁ =9/16 U₀+7/16U₁, quite a good average.

Pixel stretching in a horizontal direction has the same properties aswhen a shrink operation occurs. Consider the consequence of a 2 to 1stretch operation where combinations of pixels with differentchrominance values are recombined. From the example of the stretchoperation in Table 1, when the "2-to-1 stretch" operation is recombinedinto 32 bit AccuPak® format, the first 32 bits have matching U and Vvalues for all the Y values. In the second set of four pixels, there isa combination of Y₃ and Y4. This mixes the chrominance values withdifferent luminance values. To more accurately reflect the resultantimage, the existing interpolation unit is set to 3/4 first pixel+1/4second pixel as is accomplished in a shrink operation. This operationhas the effect of blending the color changes more uniformly and is morepleasing to the eye.

For purposes of illustration, consider the two image data words inAccuPak® format:

    Y.sub.0 Y.sub.1 Y.sub.2 Y.sub.3 U.sub.0 V.sub.0

    Y.sub.4 Y.sub.5 Y.sub.6 Y.sub.7 U.sub.1 V.sub.1

For the first four pixels in the 2 to 1 stretch:

    ______________________________________     ##STR36##    3         Y.sub.1                       4 #STR37##                                 Y.sub.0                                        U.sub.0                                            V.sub.0    ______________________________________

For the second four pixels

    ______________________________________     ##STR38##    5       Y.sub.3                  6 #STR39##                            Y.sub.2                                 See below 3/4U.sub.0 + 1/4U.sub.1                                          See below 3/4V.sub.0    ______________________________________                                          + 1/4V.sub.1

As the four pixels are processed into the AccuPak® format, the followingformulas apply:

    3/4(3/4(3/4U.sub.0 +1/4U.sub.0)+1/4U.sub.0)+1/4U.sub.1

    3/4(3/4(3/4V.sub.0 +1/4V.sub.0)+1/4V.sub.0)+1/4V.sub.1

These reduce to 27/64 U₀ +9/64U₀ +12/64U₀ +16/64U₁ or 3/4 U₀ +1/4 U₁,and 27/64 V₀ +9/64 V₀ +12/64V₀ +16/64 V₁ or 3/4 V₀ +1/4 V₁.

This algorithm works for all stretch operations, and the 3/4U_(n) 1/4U_(n+1) and 3/4 V_(n) 1/4 V_(n+1) would be used for averaging betweenpixels which traverse packet boundaries. It should be noted that stretchand shrink values can be non-integer quantities (e.g. 3.06) for thisinvention.

In the foregoing approximation, the interpolator processed the values ina fixed 3/4 A+1/4 B format. If desired, the weighting of the chrominancecomponents and the feedback of the sum could be altered to perhapsprovide an even superior approximation. However, the prior artinterpolator does not include the capability of altering the weightingduring the processing, and the approximation attained without addingsuch additional control is adequate for the purposes intended withoutcomplicating the control circuitry for this purpose.

What is claimed is:
 1. In a graphics controller wherein each word ofgraphics data for a first image includes a plurality of individual pixelluminance values (Y) and a single set of chrominance values (U,V)applicable to each of the plurality of individual pixel luminance valuesof that word, an improved method of generating words of graphics datafor a second image to be displayed corresponding to but of a differentsize than the first image and wherein individual pixel luminance valuesfor a word of graphics data for the second image can be taken from atleast two different words of graphics data for the first image havingdifferent chrominance values, comprising the step of determining, foreach word of graphics data for the second image taken from at least twodifferent words of graphics data for the first image, a set ofchrominance values approximating the average of the chrominance valuesfor the plurality of individual pixel luminance values in the respectiveword of graphics data for the second images on a recursive equation of aform S_(n) =aS_(n-1) +bx_(n) wherein a and b are first and secondfactors, S_(n-1) is a previous value of the average. S_(n) is a currentvalue of the average and x_(n) is an nth value of the set of chrominancevalues.
 2. The method of claim 1 wherein each word of graphics data forthe first image and for the second image comprises four luminance values(Y) and one set of chrominance values (U,V).
 3. The method of either oneof claim 1 or claim 2 wherein the set of chrominance values (U,V)approximating the average of the chrominance values for the plurality ofindividual pixel luminance values in the respective word of graphicsdata for the second image is determined from the graphics data for thefirst image by the equations:

    U=27/64U.sub.0 +9/64U.sub.1 +12/64U.sub.2 +16/64U.sub.3

    V=27/64V.sub.0 +9/64V.sub.1 +12/64V.sub.2 +16/64V.sub.3

where U₀ and V₀, U₁ and V₁, U₂ and V₂ and U₃ and V₃ are the sets ofchrominance values for the luminance values Y₀, Y₁, Y₂ and Y₃,respectively, of the graphics data for the first image.
 4. The method ofclaim 3 wherein, for at least some of the words of graphics data for thesecond image, the luminance values Y₀, Y₁, Y₂ and Y₃ are each taken froma different word of graphics data for the first image.
 5. The method ofclaim 3 wherein, for at least some of the words of graphics data for thesecond image, the luminance values Y₀ and Y₁ are taken from one word ofgraphics data for the first image and Y₂ and Y₃ are each taken from adifferent word of graphics data for the first image.
 6. The method ofclaim 3 wherein, for at least some of the words of graphics data for thesecond image, three of the four luminance values Y₀, Y₁, Y₂ and Y₃ aretaken from one word of graphics data for the first image and oneluminance value is taken from a different word of graphics data for thefirst image.
 7. The method of claim 2 wherein the set of chrominancevalues (U,V) approximating the average of the chrominance values for theplurality of individual pixel luminance values in the respective word ofgraphics data for the second image is determined by finding for U, afirst sum 3/4U₀ +1/4U₁, then finding a second sum of 3/4of the firstsum+1/4U₂, and then finding a third sum of 3/4of the second sum+1/4U₃,and for V, finding a first sum 3/4V₀ +1/4V₁, then finding a second sumof 3/4of the first sum+1/4V₂, and then finding a third sum of 3/4of thesecond sum+1/4V₃, where U₀ and V₀, U₁ and V₁, U₂ and V₂ and U₃ and V₃are the sets of chrominance values for the luminance values Y₀, Y₁, Y₂and Y₃, respectively, of the graphics data for the first image.
 8. Themethod of claim 3 wherein, for at least some of the words of graphicsdata for the second image, the luminance values Y₀, Y₁, Y₂ and Y₃ areeach taken from a different word of graphics data for the first image.9. The method of claim 3 wherein, for at least some of the words ofgraphics data for the second image, the luminance values Y₀ and Y₁ aretaken from one word of graphics data for the first image and Y₂ and Y₃are each taken from a different word of graphics data for the firstimage.
 10. The method of claim 3 wherein, for at least some of the wordsof graphics data for the second image, three of the four luminancevalues Y₀, Y₁, Y₂ and Y₃ are taken from one word of graphics data forthe first image and one luminance value is taken from a different wordof graphics data for the first image.
 11. A graphics controller whereineach word of graphics data for a first image includes a plurality ofindividual pixel luminance values (Y) and a single set of chrominancevalues (U,V) applicable to each of the plurality of individual pixelluminance values of that word for generating words of graphics data fora second image to be displayed corresponding to but of a different sizethan the first image and wherein individual pixel luminance values for aword of graphics data for the second image can be taken from at leasttwo different words of graphics data for the first image havingdifferent chrominance values, the graphics controller includingcircuitry for determining, for each word of graphics data for the secondimage taken from at least two different words of graphics data for thefirst image, a set of chrominance values approximating the average ofthe chrominance values for the plurality of individual pixel luminancevalues in the respective word of graphics data for the second image,based on a recursive equation of a form S_(n) =aS_(n-1) +bx_(n) whereina and b are first and second factors, S_(n-1) is a previous value of theaverage. S_(n) is a current value of the average and x_(n) is an nthvalue of the set of chrominance values.
 12. The graphics controller ofclaim 11 wherein each word of graphics data for the first image and forthe second image comprises four luminance values (Y) and one set ofchrominance values (U,V).
 13. The graphics controller of claim 12wherein the circuitry for determining the set of chrominance values(U,V) approximating the average of the chrominance values for theplurality of individual pixel luminance values in the respective word ofgraphics data for the second image comprises circuitry for finding forU, a first sum 3/4U₀ +1/4U₁, then finding a second sum of 3/4of thefirst sum+1/4U₂, and then finding a third sum of 3/4of the secondsum+1/4U₃ by recycling each prior sum with a new value of U through thesame adder with a 3/4:1/4 weighting, and for V, finding a first sum3/4V₀ +1/4V₁, then finding a second sum of 3/4of the first sum+1/4V₂,and then finding a third sum of 3/4of the second sum+1/4V₃ by recyclingeach prior sum with a new value of U through the same adder with a3/4:1/4 weighting, where U₀ and V₀, U₁ and V₁, U₂ and V₂ and U₃ and V₃are the sets of chrominance values for the luminance values Y₀, Y₁, Y₂and Y₃, respectively, of the graphics data for the first image.
 14. Themethod of claim 1 wherein a=3/4 and b=1/4.
 15. The graphics controllerof claim 11 wherein a=3/4 and b=1/4.